/**
 * DEVUELVE UN ENTERO ALEATORIO COMPRENDIDO ENTRE UN VALOR MÍNIMO Y UN VALOR
 * MÁXIMO, PASADOS ESTOS ÚLTIMOS COMO ARGUMENTO.
 */
package tools.arrays;

/**
 *
 * @author Félix Marín Ramírez | felixmurcia@gmail.com
 * @version 1.0.1b
 */
public class NumAleatorioMinMax implements java.io.Serializable {

    /**
     *
     * @param min variable pasada como argumento que contiene el valor mínimo a
     * partir del cual se van a generar los números aleatorios.
     * @param max variable pasada como argumento la cual contiene el valor
     * maximo hasta el que se van a generar numeros aleatorios.
     * @return Devuelve un valor al azar comprendido entre un número máximo y un
     * número mínimo, los cuales son pasados al método como argumentos.
     */
    public int aleatorioConRango(int min, int max) {

        int rango = (max - min) + 1;
        return (int) (Math.random() * rango) + min;
    }// Fin del método aleatorioConRango  

    /**
     *
     * @param min variable pasada como argumento que contiene el valor mínimo a
     * partir del cual se van a generar los números aleatorios.
     * @param max variable pasada como argumento la cual contiene el valor
     * maximo hasta el que se van a generar numeros aleatorios.
     * @param vEnteros Array que se pasa como argumento el cual será llenado con
     * números enteros aleatrios dentro de el rango establecido.
     */
    public void aleatorioConRango(int min, int max, int[] vEnteros) {

        int valor;
        int rango = (max - min) + 1;       

        for (int i = 0; i < vEnteros.length; i++) {
            valor = (int) (Math.random() * rango) + min;
            vEnteros[i] = valor;
        }
    }
}
